//#define _CRT_SECURE_NO_WARNINGS 1
//
//#include<iostream>
//using namespace std;
//
//class Stack
//{
//public:
//	Stack(int n = 4)
//	{
//		cout << "Stack(int n = 4)" << endl;
//		_arr = (int*)malloc(sizeof(int) * n);
//		if (_arr == nullptr)
//		{
//			perror("malloc");
//			return;
//		}
//		_Top = 0;
//		_capacity = n;
//	}
//
//	Stack(const Stack& st)
//	{
//		cout << "copy" << endl;
//		_arr = (int*)malloc(sizeof(int) * st._capacity);
//		if (_arr == nullptr)
//		{
//			perror("malloc");
//			return;
//		}
//		_Top = st._Top;
//		_capacity = st._capacity;
//		memcpy(_arr,st._arr, sizeof(int) * st._Top);
//	}
//
//	void push(int x)
//	{
//		_arr[_Top++] = x;
//	}
//
//	~Stack()
//	{
//		cout << "~Stack()" << endl;
//		free(_arr);
//		_Top = _capacity = 0;
//		_arr = nullptr;
//	}
//
//private:
//	int* _arr;
//	int _Top;
//	int _capacity;
//};
//
//class MyQueue
//{
//public:
//	Stack st1;
//	Stack st2;
//};
//
//int main()
//{
//	Stack st1;
//	st1.push(1);
//	st1.push(3);
//	Stack st2 = st1;;
//
//	MyQueue m;
//	MyQueue m1(m);
//	//m.st1;
//	return 0;
//}